package ar.com.jsejtman.common.service.definition;

import ar.com.jsejtman.common.persistence.dao.DaoFactory;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * Servicio base del cual deben extender todos los servicios de una aplicación. Simplemente
 * autoasigna un DaoFactory para asegurarse que cualquier método de las subclases puedan acceder al
 * mismo.
 * 
 * @author jsejtman
 */
public abstract class BaseService {

	/**
	 * DAO Factory requerido para trabajar en este servicio.
	 */
	@Autowired
	private DaoFactory daoFactory;

	/**
	 * Obtiene el DAO factory.
	 * 
	 * @return DAO factory.
	 */
	public final DaoFactory getDaoFactory() {

		return (this.daoFactory);
	}

	/**
	 * Asigna el DAO factory.
	 * 
	 * @param daoFactory DAO factory.
	 */
	public final void setDaoFactory(final DaoFactory daoFactory) {

		this.daoFactory = daoFactory;
	}
}
